/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */

/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */

/* 颜色变量 */

/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;

/* 文字基本颜色 */
$uni-text-color:#333;//基本色
$uni-text-color-inverse:#fff;//反色
$uni-text-color-grey:#999;//辅助灰色，如加载更多的提示信息
$uni-text-color-placeholder: #808080;
$uni-text-color-disable:#c0c0c0;

/* 背景颜色 */
$uni-bg-color:#ffffff;
$uni-bg-color-grey:#f8f8f8;
$uni-bg-color-hover:#f1f1f1;//点击状态颜色
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色

/* 边框颜色 */
$uni-border-color:#c8c7cc;

/* 尺寸变量 */

/* 文字尺寸 */
$uni-font-size-sm:12px;
$uni-font-size-base:14px;
$uni-font-size-lg:16px;

/* 图片尺寸 */
$uni-img-size-sm:20px;
$uni-img-size-base:26px;
$uni-img-size-lg:40px;

/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;

/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;

/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;

/* 透明度 */
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度

/* 文章场景相关 */
$uni-color-title: #2C405A; // 文章标题颜色
$uni-font-size-title:20px;
$uni-color-subtitle: #555555; // 二级标题颜色
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px;

/* FishPond 设计系统 - 渔业主题色彩 */
$primary: #3388FF;           // 主蓝色 - 统一按钮颜色
$primary-light: #5ba3ff;     // 浅蓝色
$primary-dark: #1a6ee6;      // 深蓝色
$secondary: #26c6da;         // 辅助色 - 青蓝色
$secondary-light: #4dd0e1;   // 浅青蓝
$accent: #66bb6a;            // 强调色 - 绿色（渔业生机）
$accent-light: #81c784;      // 浅绿色

/* 文字颜色系统 */
$text-primary: #1a1a1a;      // 主要文字
$text-secondary: #666666;    // 次要文字
$text-tertiary: #999999;     // 三级文字
$text-disabled: #cccccc;     // 禁用文字
$text-white: #ffffff;        // 白色文字

/* 背景颜色系统 */
$bg-primary: #ffffff;        // 主背景
$bg-secondary: #f8fafc;      // 次背景
$bg-tertiary: #f1f5f9;       // 三级背景
$bg-overlay: rgba(0,0,0,0.5); // 遮罩背景

/* 边框颜色系统 */
$border-light: #e2e8f0;      // 浅边框
$border-medium: #cbd5e1;     // 中等边框
$border-dark: #94a3b8;       // 深边框

/* 状态颜色系统 */
$success: #10b981;           // 成功色
$warning: #f59e0b;           // 警告色
$error: #ef4444;             // 错误色
$info: #3b82f6;              // 信息色

/* 阴影系统 */
$shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
$shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
$shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
$shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

/* 圆角系统 */
$radius-sm: 6rpx;
$radius-md: 12rpx;
$radius-lg: 16rpx;
$radius-xl: 24rpx;
$radius-full: 50%;

/* 间距系统 */
$spacing-xs: 8rpx;
$spacing-sm: 16rpx;
$spacing-md: 24rpx;
$spacing-lg: 32rpx;
$spacing-xl: 48rpx;
$spacing-2xl: 64rpx;

/* 字体系统 */
$font-xs: 20rpx;
$font-sm: 24rpx;
$font-md: 28rpx;
$font-lg: 32rpx;
$font-xl: 36rpx;
$font-2xl: 40rpx;
$font-3xl: 48rpx;

/* 兼容旧版本变量 */
$text-main: $text-primary;
$text-sub: $text-secondary;
$bg: $bg-secondary;

/* 全局样式重置 */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  background: $bg-secondary;
  color: $text-primary;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 通用组件样式 */
.button {
  background: linear-gradient(135deg, $primary 0%, $primary-light 100%);
  color: $text-white;
  border-radius: $radius-xl;
  font-size: $font-lg;
  font-weight: 600;
  border: none;
  padding: $spacing-sm $spacing-lg;
  box-shadow: $shadow-md;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.button:hover {
  transform: translateY(-2rpx);
  box-shadow: $shadow-lg;
}

.button:active {
  transform: translateY(0);
  box-shadow: $shadow-sm;
}

.button.secondary {
  background: linear-gradient(135deg, $secondary 0%, $secondary-light 100%);
}

.button.success {
  background: linear-gradient(135deg, $success 0%, $accent 100%);
}

.button.warning {
  background: linear-gradient(135deg, $warning 0%, #fbbf24 100%);
}

.button.error {
  background: linear-gradient(135deg, $error 0%, #f87171 100%);
}

.button:disabled {
  background: $text-disabled;
  color: $text-white;
  transform: none;
  box-shadow: none;
  opacity: 0.6;
}

.card {
  background: $bg-primary;
  border-radius: $radius-lg;
  box-shadow: $shadow-md;
  padding: $spacing-lg;
  border: 1rpx solid $border-light;
  transition: all 0.3s ease;
}

.card:hover {
  box-shadow: $shadow-lg;
  transform: translateY(-2rpx);
}

.card.elevated {
  box-shadow: $shadow-xl;
}

.input {
  border-radius: $radius-md;
  border: 2rpx solid $border-light;
  background: $bg-primary;
  padding: $spacing-sm $spacing-md;
  font-size: $font-md;
  color: $text-primary;
  transition: all 0.3s ease;
  width: 100%;
  box-sizing: border-box;
}

.input:focus {
  border-color: $primary;
  box-shadow: 0 0 0 6rpx rgba(30, 136, 229, 0.1);
  outline: none;
}

.input.error {
  border-color: $error;
  background: rgba(239, 68, 68, 0.05);
}

.input::placeholder {
  color: $text-tertiary;
}

.icon-svg {
  width: 60rpx;
  height: 60rpx;
  fill: $primary;
  transition: all 0.3s ease;
}

/* 渔业主题装饰元素 */
.wave-decoration {
  position: relative;
  overflow: hidden;
}

.wave-decoration::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4rpx;
  background: linear-gradient(90deg, $primary 0%, $secondary 50%, $accent 100%);
  animation: wave 3s ease-in-out infinite;
}

@keyframes wave {
  0%, 100% { transform: translateX(-100%); }
  50% { transform: translateX(100%); }
}

/* 加载动画 */
.loading-spinner {
  width: 40rpx;
  height: 40rpx;
  border: 4rpx solid $border-light;
  border-top: 4rpx solid $primary;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 渐变背景 */
.gradient-bg {
  background: linear-gradient(135deg, $primary 0%, $secondary 100%);
}

.gradient-bg-light {
  background: linear-gradient(135deg, rgba(30, 136, 229, 0.1) 0%, rgba(38, 198, 218, 0.1) 100%);
}

/* 渔业主题图标样式 */
.fish-icon {
  background: linear-gradient(135deg, $primary 0%, $secondary 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
